This invention relates generally to methods and systems for verifying and monitoring software, hardware, and systems performance throughout a development and deployment life cycle.
Quality of service and performance are crucial issues for suppliers of web-based services, such as online transaction handling (e.g., reservations, tickets, finance, etc.), online information sources (e.g., news websites, search engines, etc.), and distributed enterprise computing resources (e.g., software as a service, cloud computing, on-demand computing, etc.), just to name a few. During development, attempt to simulate real-world conditions including hardware platforms, software configurations, and network delays can provide initial visibility into performance of computer programs, but actual performance testing of the computer programs “in the field” remains a challenge.
As the term is used herein, a “synthetic performance test” (also sometimes referred to as “synthetic user performance test”, “synthetic measurement”, “synthetic monitoring”, “active monitoring”, “proactive monitoring”, and “synthetic testing”) refers to any performance test, or monitoring, where website monitoring performed using a Web browser emulation or scripted recordings of Web transactions. Typically, behavioral scripts (or paths) are created to simulate an action or path that a customer or end-user would take on the website(s) being performance tested. These paths are then intermittently (for example, continuously) monitored for performance (for example, functionality, availability, and/or response time). Synthetic user performance testing is typically valuable because it enables a an information technology (IT) professional to identify problems and determine if a website or Web application is slow or experiencing downtime before a problem affects actual end-users or customers. Also, this type of monitoring typically does not require actual Web traffic. Synthetic user performance tests are sometimes used as a complement to passive monitoring to help provide visibility on application health during time periods when transaction volume is low. Because synthetic monitoring is a simulation of typical user behavior or navigation through a website, it is typically used to monitor commonly trafficked paths and critical business processes. Synthetic user performance tests are typically scripted in advance, so it is not typically feasible to measure performance for every permutation of a navigational path an end-user might take. Synthetic user performance testing is typically used for measuring uptime, availability and response time of critical pages and transaction (e.g., how a site performs from all geographies), but typically doesn't monitor or capture actual end-user interactions.